home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
tcqbsnip.zip
/
PROPNAME.BAS
< prev
next >
Wrap
BASIC Source File
|
1997-06-20
|
2KB
|
55 lines
' PROPNAME.BAS
' by Tika Carr
' January 23, 1997
' Inspired by Bucky Carr's request in QUIK_BAS Echo
'
' Donated to the public domain
' No warranties or guarantees are expressed or implied.
'
' Purpose: To properly capitalize just about any type of name
DECLARE FUNCTION ProperName$ (Name$)
CLS
Name$ = "Adrian douglas mcDonAld-Van MACentire o'mArray"
PRINT "Processing Name: "; Name$
P$ = ProperName$(Name$)
PRINT "The Proper Capitalization is: "; P$
FUNCTION ProperName$ (Name$)
'First, make the entire name all lower case
Name$ = LCASE$(Name$)
'Loop works until end of name.
DO UNTIL Marker = LEN(Name$) - 1
Marker = Marker + 1
'Get part of name (up until a space is found)
Temp$ = ""
DO WHILE Separator$ <> " " AND Separator$ <> "-"
Separator$ = MID$(Name$, Marker, 1)
Temp$ = Temp$ + MID$(Name$, Marker, 1)
IF Marker = LEN(Name$) THEN EXIT DO
Marker = Marker + 1
LOOP
'Capitalize first letter
MID$(Temp$, 1, 1) = UCASE$(LEFT$(Temp$, 1))
'La Mc Le and apostrophe
Check$ = LEFT$(Temp$, 2)
IF Check$ = "La" OR Check$ = "Mc" OR Check$ = "Le" OR MID$(Temp$, 2, 1) = "'" THEN
MID$(Temp$, 3, 1) = UCASE$(MID$(Temp$, 3, 1))
END IF
'Van and Mac
Check$ = LEFT$(Temp$, 3)
IF Check$ = "Van" OR Check$ = "Mac" THEN
MID$(Temp$, 4, 1) = UCASE$(MID$(Temp$, 4, 1))
END IF
NewName$ = NewName$ + Temp$
Separator$ = "": Marker = Marker - 1 'Adjustments
LOOP
ProperName$ = NewName$
END FUNCTION